[2025年1月版]Amazon GuardDutyの各オプションの採用可否を考えてみた
こんにちは、クラウド事業本部@福岡オフィスのべこみん(@beco_minn)です。
皆さん、Amazon GuardDuty(以下、GuardDuty)は有効化していますか?
GuardDutyはAWS環境内のログ等をモニタリングすることで脅威を検出してくれるAWSマネージドなサービスです。
GuardDutyの全体像について知りたい方は、昨年私が執筆したこちらの入門記事をご覧ください。
そんなGuardDutyですが、上記記事にもまとめた通りいくつかの機能が存在します。
その中にはGuardDuty自体を有効化していると必ず有効になっている基本機能の他に、ユーザーが任意に有効化/無効化出来るオプション機能も存在します。
本記事では各オプション機能について改めて確認し、「こういう場合に有効化すべき」「こういう場合は無効でも良いかも」という観点でまとめてみます。
先にまとめ
本記事では主にオプショナルな保護機能について触れていますが、Amazon GuardDutyの基礎機能だけでも十分様々な脅威を検出出来ます。
ただし、基礎機能で確認するのはCloudTrailの管理イベントやVPCフローログ、Route53のDNSクエリログのみです。
上記以外のログやイベントから、より早く、より詳細に脅威を検知することが出来るというのがオプショナルな保護機能の強みだとご理解ください。ただしオプショナルな保護機能は追加料金がかかるため、そのコストが許容出来ない場合は基礎機能だけでGuardDutyをご利用頂いても問題ありません。
また、基本的にGuardDutyの料金はリソースの利用量(ログ流量)に応じた従量課金制なので、大きなシステムでなければオプショナル機能を全て有効化してもそこまで大きな料金が発生しないケースもあります。
料金の詳細については以下をご参照ください。
オプショナルな保護機能を下表のようにまとめてみました。
機能名 | 機能概要 | 採用推奨ケース | 代替手段 | 参考リンク |
---|---|---|---|---|
Runtime Monitoring | • OSレベル、ネットワーク、ファイルイベントなどを監視・分析 • EC2、ECS on Fargate、EKS(Fargate以外)に対応 • 自動エージェント導入機能あり |
EC2、ECS on Fargate、EKS(Fargate以外)利用時 | • EC2向け3rd Party EDR製品 • コンテナ/Kubernetes対応EDR製品 |
Runtime Monitoring |
Malware Protection for EC2 | • EC2/コンテナワークロードのマルウェア検知時にEBSスキャン実施 • オンデマンドスキャン可能 |
• EC2利用時 • EC2上のコンテナワークロード実行時 |
• マルウェア検知は3rd Party EDR製品で代替可 • EBSスキャンそのものの代替は恐らく無し |
Malware Protection |
S3 Protection | CloudTrailのS3データイベントを分析し、不正アクティビティを検知 | 機密情報を含むバケットの不正操作検知が必要な場合 | • S3操作監視ツール(マネージド製品は少ない) • アクセス管理の徹底と基礎機能での代替 |
S3 Protection |
Malware Protection for S3 | S3バケットへのPut時にマルウェアスキャンを実施 | 不特定多数のユーザーによるアップロード/ダウンロードがあるバケット利用時 | Trend Micro File Storage Securityなどの3rd Party製品 | S3 Malware Protection |
EKS Protection | EKS監査ログを分析し、不正アクティビティを検知 | EKSワークロード実行時(強く推奨) | Kubernetes監査ログ監視可能な3rd Party製品 | EKS Protection |
RDS Protection | RDSログインアクティビティを分析し、異常検知 (Aurora MySQL/PostgreSQL、MySQL/PostgreSQL対応) |
対応RDS利用時でリアルタイム脅威検知が必要な場合 | • 直接の代替ツールは少ない • 基礎機能での不正アクティビティ検知で代替可 |
RDS Protection |
Lambda Protection | Lambda関数の不正な通信(C&C、Torなど)を検知 | • Lambda利用時 • CI/CDでのコードスキャン未実施時 |
• CI/CDでのコード/ライブラリスキャン • 実行ログ監視3rd Party製品 |
Lambda Protection |
オプショナルな保護機能について
昨年も多くのアップデートが行われたGuardDutyですが、2025年1月時点では以下の7機能がオプショナルな機能として用意されています。
- Runtime Monitoring
- Malware Protection for EC2
- S3 Protection
- Malware Protection for S3
- EKS Protection
- RDS Protection
- Lambda Protection
GuardDutyでは機能追加アップデートが行われるたびに上記の構造も変わりがちなので注意が必要です。
例えば、以前はEKSのランタイムモニタリング機能はEKS Protectionの一部でした。
それでは、各機能について見ていきます。
各機能について「採用を推奨するケース」と「代替手段について」を書きますが、大前提として 現時点で何も代替手段(3rd Party製品)を導入していないのであればAWSマネージドであるGuardDutyの各機能を利用してみることをオススメします。コンソール上から簡単に有効化/無効化出来るので「とりあえず始めてみる」がしやすいです。
Runtime Monitoring
- 機能概要
- OSレベル、ネットワーク、ファイルイベントなどを監視、分析することでワークロードのランタイム上で脅威を検出する
- EC2、ECS on Fargate、EKS(Fargate以外)に対応
- EKSはon EC2とAutoModeで実行されているクラスターにのみ対応
- OSディストリビューションなどの条件はあるものの、自動エージェント導入機能あり
- 採用を推奨するケース
- EC2、ECS on Fargate、EKS(Fargate以外)を利用している場合
- 代替手段について
- EC2に導入可能な3rd PartyのEDR製品で代替可能
- コンテナランタイム、Kubernetesに対応した3rd PartyのEDR製品で代替可能
- 参考リンク
Malware Protection for EC2
- 機能概要
- VPCフローログなどの結果から、EC2やコンテナを利用したワークロードでマルウェアと思われる動作をGuardDutyが検知した場合にEC2インスタンスにアタッチされているEBSに対してマルウェアスキャンを実施する
- ユーザーが任意のタイミングで実行出来るオンデマンドスキャンも可能
- 採用を推奨するケース
- EC2を利用している場合
- またはEC2インスタンスを利用したコンテナワークロードを実行している場合
- 代替手段について
- マルウェアの検知自体はEC2に導入可能な3rd PartyのEDR製品で代替可能
- ただしEBSスキャン自体の代替製品は恐らく無し
- 参考リンク
S3 Protection
- 機能概要
- CloudTrailのS3データイベントを分析し、悪意のあるアクティビティや疑わしいアクティビティを検知する
- GuardDutyの基礎機能だと管理イベントを分析する一方、こちらはオブジェクトの操作等を行うデータイベントを監視する
- CloudTrailのS3データイベントを分析し、悪意のあるアクティビティや疑わしいアクティビティを検知する
- 採用を推奨するケース
- 機密情報を含む情報を含むバケットが存在し、不正な操作イベントを検知したい場合
- 特に社内からの不正アクティビティを検知したい場合など
- 機密情報を含む情報を含むバケットが存在し、不正な操作イベントを検知したい場合
- 代替手段について
- S3上のオブジェクト操作を監視するツール
- 既製のマネージドな3rd Party製品は恐らく無し
- 機密情報を含むバケットのアクセス管理を徹底し、GuardDutyの基礎機能である管理イベントの不正なアクティビティ検知で代替するなど
- S3上のオブジェクト操作を監視するツール
- 参考リンク
Malware Protection for S3
- 機能概要
- 対象のS3バケットに対してオブジェクトがPutされたタイミングで、対象のオブジェクトがマルウェアかどうかをスキャンする
- 採用を推奨するケース
- 不特定多数のユーザーがアップロード・ダウンロード可能なS3バケットが存在する場合など
- 代替手段について
- Trend Micro社File Storage SecurityのようなS3バケットをスキャン可能な3rd Party製品
- 参考リンク
EKS Protection
- 機能概要
- こちらはランタイムモニタリングとは異なり、EKSの監査ログを分析し悪意のあるアクティビティや疑わしいアクティビティを検知する
- 採用を推奨するケース
- EKSを採用したワークロードを実行している場合
- EKSを利用している場合は強く推奨
- EKSを採用したワークロードを実行している場合
- 代替手段について
- Kubernetesの監査ログを監視可能な3rd Party製品
- 参考リンク
RDS Protection
- 機能概要
- RDSのログインアクティビティを分析し、異常なログイン動作を検知する
- 現時点で対応しているのはAurora MySQL、Aurora PostgreSQL、MySQL for PostgreSQL
- RDSのログインアクティビティを分析し、異常なログイン動作を検知する
- 採用を推奨するケース
- 上記タイプのRDSを利用しており、よりリアルタイムに脅威を検知したい場合
- 代替手段について
- 機能そのものの代替ツールは恐らく無いが、RDSへの攻撃を行うための前後の不正なアクティビティはGuardDutyの基礎機能でも検知可能
- 強いて言うなら、EC2からのアクセスに限定したRDSを利用している場合にEC2内からのRDSログインアクティビティを監視するなど
- 機能そのものの代替ツールは恐らく無いが、RDSへの攻撃を行うための前後の不正なアクティビティはGuardDutyの基礎機能でも検知可能
- 参考リンク
Lambda Protection
- 機能概要
- Lambdaのネットワークアクティビティログを分析し、Lambda関数内からのC&CサーバーやTorネットワークなどへの不正な通信を検知する
- 採用を推奨するケース
- Lambdaを利用している場合
- 頻繁に更新するLambda関数を利用していて、CI/CDパイプラインなどでのLambdaのコードスキャンを行なっていない場合
- 代替手段について
- CI/CDパイプラインにおけるLambda関数コード、ライブラリのスキャン
- Lambdaの実行ログを監視する3rd Party製品の導入など
- 参考リンク
最後に
昨年新たに2つの機能が追加されたAmazon GuardDutyですが、追加の保護プランの採用有無に迷うケースも少なくありません。
特に既に採用している3rd Party製品がある場合、どちらを使えば良いのか、機能が重複していないかなどを考慮する必要があります。
とはいえ、GuardDutyの基礎機能だけでもAWS環境における脅威検出にはかなり役立つので、追加機能の採用に迷っている場合でもGuardDutyそのものは有効化しておくことをオススメします。
本記事をきっかけに改めて各機能の概要を把握して頂き、本記事が各機能の採用判断の一助となれば光栄です。
以上、べこみんでした。